package com.example.myapplication

import kotlinx.coroutines.*

/**
 * 类描述:
 * 创建人:   tangchao$
 * 创建时间: 2021/7/13$ 7:25 PM$
 * 联系方式: 419704299@qq.com
 * 修改人:   tangchao$
 * 修改时间: 2021/7/13$ 7:25 PM$
 * 修改备注:  [说明本次修改内容]
 */
fun main() {
    runBlocking {
        //GlobalScope无父子关系
//        GlobalScope.launch {
//            delay(2000)
//            println("22")
//        }
        //使用launch时默认传入一个父协程的作用域
        var job1 = launch {
            delay(1000)
            println("job1")
        }
        var job2 = launch(job1) {
            delay(2000)
            println("job2")

        }
        job1.cancel()

        println("11")//顶级协程先执行完自己的。job1和2仅仅是标记了协程
    }
//    println("aaa")


    return runBlocking {
        val job = GlobalScope.launch(start = CoroutineStart.LAZY) {
            delay(1000)
            println("22")
        }
        println("aaa")
//        job.join()//当前协程挂起，执
        job.start()


    }

}

